A programmable application specific integrated circuit (ASIC) is a versatile integrated circuit chip, the internal circuitry of which may be configured before packaging by a manufacturer or after packaging by an individual user to realize a user-specific circuit. To configure a programmable ASIC, the user configures an on-chip interconnect structure of the programmable ASIC so that selected input terminals and selected output terminals of selected on-chip circuit components are electrically connected together in such a way that the resulting circuit is the user-specific circuit desired by the user. In a programmable ASIC employing, for example, amorphous silicon antifuses, selected amorphous silicon antifuses electrically disposed between selected wire segments are "programmed" to connect the selected wire segments together electrically. Which antifuses are programmed and which antifuses are left unprogrammed determines how the circuit components are interconnected and therefore determines the resulting circuit. Programmable ASICs can employ other types of antifuse structures including, for example, antifuses employing nitrides and oxides.
FIG. 1 (Prior Art) illustrates the programming of an antifuse of a programmable antifuse device in accordance with a prior art method. Four antifuses 1-4 are illustrated. Antifuse 1 is disposed between wire segments 5 and 6. Antifuse 2 is disposed between wire segments 6 and 7. Antifuse 3 is disposed between wire segments 7 and 8. Antifuse 4 is disposed between wire segments 8 and 9. Each of antifuses 1-4 has a corresponding pass programming transistor 10-3 disposed in parallel with the antifuse. Breaks are shown in wire segments 5 and 9 to indicate that the string of antifuses and wire segments includes more antifuses and wire segments than is shown. A string may, for example, comprise ten to fifteen antifuses and associated wire segments.
To program an antifuse in the string, a programming voltage Vpp is typically applied to one end of the string and a ground potential GND is typically applied to the other end of the string. This may be accomplished by turning on programming drivers (not shown) connected to the wire segments at either end of the string. If, for example, antifuse 3 is to be programmed, then pass programming transistors 10, 11 and 13 are turned on whereas pass programming transistor 12 is turned off. As a result, a voltage of sufficient magnitude develops across antifuse 3 such that antifuse 3 is programmed to be conductive.
In some antifuse structures such as some amorphous silicon antifuse structures having a given feature size, it is desirable to achieve a low programmed antifuse resistance. Such amorphous silicon antifuse structures are programmed with programming currents on the order of 12 mA or greater in order to achieve a desired low programmed antifuse resistance.
To maximize the amount of programming current available to program an antifuse in the string, the "on" resistance of the pass programming transistors in the string should be low. If, for example, the programming voltage Vpp is about 12 volts, and if there are eleven pass programming transistors in the string from programming voltage Vpp to ground potential GND, and if the programming current flowing through antifuse 3 in FIG. 1 is to be at least 12 mA, then each pass programming transistor must have an on resistance of 100 ohms or less.
Not only must the on resistance of the pass programming transistors be low, but the voltage at which the pass programming transistors break down should be high. Consider the attempted programming of antifuse 3. If pass programming transistor 12 were to break down at a lower voltage between wire segments 7 and 8 than the voltage at which antifuse 3 begins to be programmed, then pass programming transistor 12 would effectively shunt some of the programming current around antifuse 3. Accordingly, the amount of programming current which would flow through antifuse 3 could be insufficient to achieve the desired 50 ohm programmed resistance. Because both the breakdown voltage and the on resistance of a pass programming transistor are typically dependent upon the size of the pass programming transistor, the pass programming transistors in the structure of FIG. 1 are made sufficiently large to have a low enough on resistance and a high enough breakdown voltage to allow an adequate amount of programming current to flow through the antifuses to be programmed.
Although the architecture illustrated in FIG. 1 operates effectively, it is desirable to achieve the same functionality while utilizing a smaller amount of silicon area. Uniformly shrinking the structures illustrated in FIG. 1 may, however, result in pass programming transistors 10-3 being smaller and therefore having undesirably low breakdown voltages and undesirably high on resistances. Accordingly, an architecture is sought in which the transistors used to program antifuses can be reduced in size while maintaining the ability to program the antifuses with sufficient programming current.